package com.hanthink.system.service.impl.manhour;

import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.hanthink.system.mapper.manhour.ProductionPlanFactAnalyMapper;
import com.hanthink.system.domain.manhour.ProductionPlanFactAnaly;
import com.hanthink.system.service.manhour.IProductionPlanFactAnalyService;

/**
 * 生产计划和设备开停机差异分析Service业务层处理
 * 
 * @author hanthink
 * @date 2022-04-15
 */
@Service
public class ProductionPlanFactAnalyServiceImpl implements IProductionPlanFactAnalyService 
{
    @Autowired
    private ProductionPlanFactAnalyMapper productionPlanFactAnalyMapper;

    /**
     * 查询生产计划和设备开停机差异分析
     * 
     * @param workdate 生产计划和设备开停机差异分析ID
     * @return 生产计划和设备开停机差异分析
     */
    @Override
    public ProductionPlanFactAnaly selectProductionPlanFactAnalyById(Date workdate)
    {
        return productionPlanFactAnalyMapper.selectProductionPlanFactAnalyById(workdate);
    }

    /**
     * 查询生产计划和设备开停机差异分析列表
     * 
     * @param productionPlanFactAnaly 生产计划和设备开停机差异分析
     * @return 生产计划和设备开停机差异分析
     */
    @Override
    public List<ProductionPlanFactAnaly> selectProductionPlanFactAnalyList(ProductionPlanFactAnaly productionPlanFactAnaly)
    {
        return productionPlanFactAnalyMapper.selectProductionPlanFactAnalyList(productionPlanFactAnaly);
    }

    /**
     * 新增生产计划和设备开停机差异分析
     * 
     * @param productionPlanFactAnaly 生产计划和设备开停机差异分析
     * @return 结果
     */
    @Override
    public int insertProductionPlanFactAnaly(ProductionPlanFactAnaly productionPlanFactAnaly)
    {
        return productionPlanFactAnalyMapper.insertProductionPlanFactAnaly(productionPlanFactAnaly);
    }

    /**
     * 修改生产计划和设备开停机差异分析
     * 
     * @param productionPlanFactAnaly 生产计划和设备开停机差异分析
     * @return 结果
     */
    @Override
    public int updateProductionPlanFactAnaly(ProductionPlanFactAnaly productionPlanFactAnaly)
    {
        return productionPlanFactAnalyMapper.updateProductionPlanFactAnaly(productionPlanFactAnaly);
    }

    /**
     * 批量删除生产计划和设备开停机差异分析
     * 
     * @param workdates 需要删除的生产计划和设备开停机差异分析ID
     * @return 结果
     */
    @Override
    public int deleteProductionPlanFactAnalyByIds(Date[] workdates)
    {
        return productionPlanFactAnalyMapper.deleteProductionPlanFactAnalyByIds(workdates);
    }

    /**
     * 删除生产计划和设备开停机差异分析信息
     * 
     * @param workdate 生产计划和设备开停机差异分析ID
     * @return 结果
     */
    @Override
    public int deleteProductionPlanFactAnalyById(Date workdate)
    {
        return productionPlanFactAnalyMapper.deleteProductionPlanFactAnalyById(workdate);
    }
}
